package org.budo.dubbo.protocol.async.repository;

import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.dubbo.rpc.Invoker;

/**
 * @author lmw
 */
public interface AsyncRepository {
    String ASYNC_REPOSITORY_BEAN_NAME = "asyncRepositoryBeanName";

    String DESTINATION_NAME = "destinationName";

    /**
     * 服务提供端收到消息后调用方法
     */
    Integer popMessageAndInvoke(Invoker invoker);

    /**
     * 服务调用端调用方法时发消息
     */
    void sendMessageWhenInvoke(Invocation invocation);
}